*Does School Debating Reduce Vulnerability to Misinformation? A Field Experiment in Poland
*Authors: Krzysztof Krakowski, Bernhard Clemm von Hohenberg, Davide Morisi
*Journal: The Journal of Politics

*This file replicates the following:
*All tables in Appendix F

*31 January 2025

*working directory
cd "[insert your directory]"

*open dataset
use "data/misinformation_mid.dta", clear

global PathRES = "tables/"

*demographics
global demo1 "i.female i.mother_edu i.age_cat hh_size_cat"
global demo2 "i.female i.mother_edu i.age_cat hh_size_cat i.financial4 i.religiosity3 i.right_wing"

***
*DVs

*Conspiracy thinking
label de agree_reverse 5"strongly agree" 1"strongly disagree"
forvalues i =1/5 {
	recode conspiracy_item`i' (1 = 5) (2 = 4) (4 = 2) (5 = 1) (99=.), gen(conspiracy_item`i'r)
	recode pre_conspiracy_item`i' (1 = 5) (2 = 4) (4 = 2) (5 = 1) (99=.), gen(pre_conspiracy_item`i'r)
	label val conspiracy_item`i'r agree_reverse
	label val pre_conspiracy_item`i'r agree_reverse
}
egen conspiracy = rowmean(conspiracy_item*r)
egen conspiracy_pre = rowmean(pre_conspiracy_item*r)
*rescaled from 0 to 1
gen conspiracy01 = (conspiracy-1)/4
gen conspiracy_pre01 = (conspiracy_pre-1)/4


*credibility of true statement 
egen true_trust = rowmean(Q76_13 Q76_14 Q76_17 Q76_19 Q76_20 Q76_21 Q76_22 Q76_24)
egen true_trust_all = rowmean(Q76_13 Q76_14 Q76_15 Q76_16 Q76_17 Q76_18 Q76_19 Q76_20 Q76_21 Q76_22 Q76_23 Q76_24)
egen true_trust_pre = rowmean(pre_Q76_13 pre_Q76_14 pre_Q76_17 pre_Q76_19 pre_Q76_20 pre_Q76_21 pre_Q76_22 pre_Q76_24)
egen true_trust_pre_all = rowmean(pre_Q76_13 pre_Q76_14 pre_Q76_15 pre_Q76_16 pre_Q76_17 pre_Q76_18 pre_Q76_19 pre_Q76_20 pre_Q76_21 pre_Q76_22 pre_Q76_23 pre_Q76_24)
label var true_trust "Average credibility SELECTED true statements"
label var true_trust_pre "Average credibility SELECTED true statements PRE"
label var true_trust_all "Average credibility ALL true statements"
label var true_trust_pre_all "Average credibility ALL true statements PRE"
label val true_trust credible
label val true_trust_all credible
label val true_trust_pre credible
label val true_trust_pre_all credible
fre true_trust*
*rescaled from 0 to 1
gen true_trust01 = (true_trust-1)/6
gen true_trust_all01 = (true_trust_all-1)/6
gen true_trust_pre01 = (true_trust_pre-1)/6
gen true_trust_pre_all01 = (true_trust_pre_all-1)/6
label var true_trust01 "Average credibility SELECTED true statements"
label var true_trust_pre01 "Average credibility SELECTED true statements PRE"
label var true_trust_all01 "Average credibility ALL true statements"
label var true_trust_pre_all01 "Average credibility ALL true statements PRE"
label val true_trust01 credible01
label val true_trust_all01 credible01
label val true_trust_pre01 credible01
label val true_trust_pre_all01 credible01
fre true_trust true_trust01 true_trust_all01

*credibility of false statements
sum Q76_1 Q76_2 Q76_3 Q76_4 Q76_5 Q76_6 Q76_7 Q76_8 Q76_9 Q76_10 Q76_11 Q76_12
sum pre_Q76_1 pre_Q76_2 pre_Q76_3 pre_Q76_4 pre_Q76_5 pre_Q76_6 pre_Q76_7 pre_Q76_8 pre_Q76_9 pre_Q76_10 pre_Q76_11 pre_Q76_12
egen false_trust = rowmean(Q76_2 Q76_3 Q76_4 Q76_5 Q76_7 Q76_9 Q76_10 Q76_12)
egen false_trust_all = rowmean(Q76_1 Q76_2 Q76_3 Q76_4 Q76_5 Q76_6 Q76_7 Q76_8 Q76_9 Q76_10 Q76_11 Q76_12)
egen false_trust_pre = rowmean(pre_Q76_2 pre_Q76_3 pre_Q76_4 pre_Q76_5 pre_Q76_7 pre_Q76_9 pre_Q76_10 pre_Q76_12)
egen false_trust_pre_all = rowmean(pre_Q76_1 pre_Q76_2 pre_Q76_3 pre_Q76_4 pre_Q76_5 pre_Q76_6 pre_Q76_7 pre_Q76_8 pre_Q76_9 pre_Q76_10 pre_Q76_11 pre_Q76_12)
label var false_trust "Average credibility SELECTED false statements"
label var false_trust_pre "Average credibility SELECTED false statements PRE"
label var false_trust_all "Average credibility ALL false statements"
label var false_trust_pre_all "Average credibility ALL false statements PRE"
label val false_trust credible
label val false_trust_all credible
label val false_trust_pre credible
label val false_trust_pre_all credible
sum false_trust*
*rescaled from 0 to 1
gen false_trust01 = (false_trust-1)/6
gen false_trust_all01 = (false_trust_all-1)/6
gen false_trust_pre01 = (false_trust_pre-1)/6
gen false_trust_pre_all01 = (false_trust_pre_all-1)/6
label de credible01 0 "totally not credible" 1 "entirely credible"
label var false_trust01 "Average credibility SELECTED false statements"
label var false_trust_pre01 "Average credibility SELECTED false statements PRE"
label var false_trust_all01 "Average credibility ALL false statements"
label var false_trust_pre_all01 "Average credibility ALL false statements PRE"
label val false_trust01 credible01
label val false_trust_all01 credible01
label val false_trust_pre01 credible01
label val false_trust_pre_all01 credible01

*gap between true and false statements
gen false_true_gap = true_trust - false_trust
gen false_true_all = true_trust_all - false_trust_all
gen false_true_pre_gap = true_trust_pre - false_trust_pre
gen false_true_pre_all = true_trust_pre_all - false_trust_pre_all
label var false_true_gap "positive=true statements more credible than false"
label var false_true_all "positive=true statements more credible than false ALL STATEMENTS"
label var false_true_pre_gap "positive=true statements more credible than false PRE"
label var false_true_pre_all "positive=true statements more credible than false ALL STATEMENTS PRE"
fre false_true_gap false_true_all // the more positive, the more credible true statements vs false statements
list false_trust_pre true_trust_pre false_true_pre_gap in 50/60
*rescaled from -1 to 1
gen false_true_gap01 = true_trust01 - false_trust01
gen false_true_all01 = true_trust_all01 - false_trust_all01
gen false_true_pre_gap01 = true_trust_pre01 - false_trust_pre01
gen false_true_pre_all01 = true_trust_pre_all01 - false_trust_pre_all01
label var false_true_gap01 "positive=true statements more credible than false"
label var false_true_all01 "positive=true statements more credible than false ALL STATEMENTS"
label var false_true_pre_gap01 "positive=true statements more credible than false PRE"
label var false_true_pre_all01 "positive=true statements more credible than false ALL STATEMENTS PRE"
fre false_true_gap01



***

*
*Table F1. Effects of prime on credibility of true statements
eststo clear
eststo: reg true_trust01 prime i.treat_bin, cl(schoolen) 
eststo: reg true_trust01 prime i.treat_bin $demo1, cl(schoolen) 
eststo: reg true_trust01 prime i.treat_bin $demo2, cl(schoolen) 
eststo: reg true_trust01 prime i.treat_bin $demo2 true_trust_pre01, cl(schoolen) 
*table
esttab using "${PathRES}TableF1.rtf", ///
b(%6.3f) se(%6.3f) starlevels(* .1 ** .05 *** .01)  scalars (r2) keep(prime) ///
compress noeqlines replace 

*
*Table F2. Effects of prime on credibility of false statements
eststo clear
eststo: reg false_trust01 prime i.treat_bin, cl(schoolen) 
eststo: reg false_trust01 prime i.treat_bin $demo1, cl(schoolen) 
eststo: reg false_trust01 prime i.treat_bin $demo2, cl(schoolen) 
eststo: reg false_trust01 prime i.treat_bin $demo2 false_trust_pre01, cl(schoolen) 
*table
esttab using "${PathRES}TableF2.rtf", ///
b(%6.3f) se(%6.3f) starlevels(* .1 ** .05 *** .01)  scalars (r2) keep(prime) ///
compress noeqlines replace 

*
*Table F3. Effects of prime on credibility of true vs. false statements
eststo clear
eststo: reg false_true_gap01 prime i.treat_bin, cl(schoolen) 
eststo: reg false_true_gap01 prime i.treat_bin $demo1, cl(schoolen) 
eststo: reg false_true_gap01 prime i.treat_bin $demo2, cl(schoolen) 
eststo: reg false_true_gap01 prime i.treat_bin $demo2 false_true_pre_gap01, cl(schoolen) 
*table
esttab using "${PathRES}TableF3.rtf", ///
b(%6.3f) se(%6.3f) starlevels(* .1 ** .05 *** .01)  scalars (r2) keep(prime) ///
compress noeqlines replace

*
*Table F4. Effects of prime on agreement with conspiracy theory
eststo clear
eststo: reg conspiracy01 prime i.treat_bin, cl(schoolen) 
eststo: reg conspiracy01 prime i.treat_bin $demo1, cl(schoolen) 
eststo: reg conspiracy01 prime i.treat_bin $demo2, cl(schoolen) 
eststo: reg conspiracy01 prime i.treat_bin $demo2 conspiracy_pre01, cl(schoolen) 
*table
esttab using "${PathRES}TableF4.rtf", ///
b(%6.3f) se(%6.3f) starlevels(* .1 ** .05 *** .01)  scalars (r2) keep(prime) ///
compress noeqlines replace
